<?php

namespace hyf2599;

use hyf2599\Chuanglan\ChuanglanSmsService;
use hyf2599\Duanxinyun\DuanxinyunSmsService;

/**
 * 短信服务工厂类
 * 根据配置创建相应的短信服务实例
 */
class SmsServiceFactory
{
    /**
     * 创建短信服务实例
     *
     * @param string $provider 短信服务提供商名称
     * @return SmsServiceInterface 短信服务实例
     * @throws \Exception 如果提供商不支持则抛出异常
     */
    public static function create(string $provider)
    {
        // 转换为小写以便统一处理
        $provider = strtolower($provider);

        switch ($provider) {
            case 'duanxinyun':
                return new DuanxinyunSmsService();
            case 'chuanglan':
                return new ChuanglanSmsService();
            default:
                throw new \Exception("不支持的短信服务提供商: {$provider}");
        }
    }
}
?>